The present invention relates generally to semiconductor microcontrollers, and more particularly to a power-on detect and delay for microcontrollers.
Microprocessors have evolved into complex instruments and machines which require sophisticated, fast real-time control capability. Instead of using large microprocessors of 16 or 32 bit capability along with interrupt handler chips, programmable timer chips, ROM and RAM chips, the field has gone to a single chip microcontroller in which all peripherals are embedded on the same chip. Operation of the chip in an expanded mode allows gaining the versatility of all on-chip features. Microcontrollers are used in a wide diversity of present-day applications, with new applications found almost daily. In hand-held instruments such as tiny pocket-sized pagers, the microcontroller is responsive to received characters to interpret them, produce a beep to notify the user of an incoming message (or not if the user prefers an inaudible mode), and produces multiple messages among the several last of those received on a suitable display, typically an LCD. The microcontroller can also recall from its internal memory any or all of the messages received in a given period of time. The chip is also used in other instrumentation such as meters and testers, capable of carrying out thousands of tests, each in a millisecond or less.
Other applications include keyboard controllers for personal computers, in which the microcontroller serves to offload many tasks formerly handled by the processor. The chip continuously performs a series of diagnostic procedures, and notifies the processor if it detects a problem. Among other personal computer applications, microcontrollers are used in modems for command interpretation and data transmission, in printer buffers for high speed dumping of data in preparation for driving the printer at the considerably lower speed at which the printer operates or for color plotters, in color copiers, electronic typewriters, cable television terminal equipment, lawn sprinkling controllers, credit card phone equipment, automotive applications such as engine control modules, antilock braking systems, automobile suspension control for desired destination of ride softness or rigidity depending on user preference, and a host of other applications used daily by industrial and consumer customers.
A real time microcontroller is a microcomputer adapted to provide rapid solutions to signal processing algorithms and other numerically intensive computations, and, as well, to control real time events such as opening and closing of relays, controlling the position and speed of a motor, and others such as mentioned above. The central processing unit (CPU) of the microcontroller operates in conjunction with certain peripherals for purposes of such control. The peripherals may include devices such as timers, signal ports, and baud rate generators, among others.
Prior art schemes for controlling the start-up or power-on of a microcontroller commonly include the use of external elements such as bipolar transistors or analog integrated circuits to detect power to a fixed threshold while the part is held externally in reset. A serious drawback of such schemes is that one of the pins on the device is tied up for that purpose, without provision for detecting stable clock.
Another prior art technique employs an elapsed time counter to allow time for both power and clock to stabilize, but this technique provides only for a fixed time and does not reliably handle slow power ramps and/or slow clock frequencies.